Virtualization technologies are broadly applicable in many technological fields. As a result, many organizations worldwide rely on virtualization to reduce development times and development costs, while increasing the flexibility and scalability of applications. Organizations can rely on on-premises or cloud-computing platforms, such as AMAZON WEB SERVICES, MICROSOFT AZURE, and others.
On-premises and cloud-computing platforms can be described in terms of an acceptable level of service availability. Typical levels of service availability include 99%, 99.9%, 99.99%, and 99.999% uptime. Such high levels of availability are often achieved by deploying multiple redundant server instances, which are subject to repeated health checks and restarted as necessary. One or more dedicated load balancer devices can then distribute client requests among the redundant server instances. Such centralized load balancing can be performed using either software or hardware load balancers, though production systems typically use dedicated load-balancing devices. In some architectures, a cluster of load-balancing devices can be configured to receive incoming requests and redirect them to available server instances. In this manner, the load balancers can act as reverse proxies.
But this conventional architecture poses technical problems. Small to medium size organizations may not be able to support the additional complexity and expense of a load balancer, let alone the multiple load balancers potentially required by a complex cloud architecture. Furthermore, properly configuring and maintaining a load-balancing device can be a complex task beyond the capabilities of such an organization.
Most organizations have a DNS server, such as Microsoft Active Directory™ server, which is responsible for resolving domain names of machines located inside an internal network. While some Domain Name Service (DNS) devices offer built-in load balancing services, these devices rely upon a central unit and require replacement of existing DNS servers.
Consequently, systems and methods are needed for decentralized address control that are compatible with existing DNS servers. Furthermore, such systems and methods should be easily maintainable and expandable.